package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    @Override
    public ItemType convert(String code) {
        // 获取枚举类中的所有枚举值 有具体对象
        ItemType[] values = ItemType.values();
        // 获取枚举类中的所有枚举值 通过反射获取
        ItemType[] enumConstants = ItemType.class.getEnumConstants();
        // 遍历枚举类中的所有枚举值
        for (ItemType itemType : enumConstants) {
            // 判断枚举值是否相等
            if (itemType.getCode().equals(Integer.valueOf(code))) {
                return itemType;
            }
        }
        throw new IllegalArgumentException("非法的枚举值:" + code);
    }
}
